import request from '@/utils/request'
/**
 * Vehicle类，提供标准的办公接口调用api
 */
let that
export default class Vehicle {
    /**
     * 构造函数
     * @param {String} subSys 模块英文名（小写）
     * @param {String} module 子模块英文名（小写）
     */
    constructor({ subSys, module, suffix, summaryName }) {
        that = this
        that.subSys = subSys
        that.module = module
        that.suffix = suffix
        that.summaryName = summaryName
    }
    // 列表（分页）
    getList(data) {
        return request.post(`${this.subSys + this.module}/getPage${this.suffix}`, data)
    }

    // 列表
    getAllList(data) {
        return request.post(`${this.subSys + this.module}/query${this.suffix}List`, data)
    }

    // 详情
    detail(params) {
        return request.get(`${this.subSys + this.module}/get${this.suffix}ById`, { params })
    }

    // 流程详情
    processDetail(params) {
        return request.get(`${this.subSys + this.module}/getCarAndApplicationById`, { params })
    }

    // 明细
    getDetail(params) {
        return request.get(`${this.subSys + this.module}/getPersonScoreById`, { params })
    }
    //打印
    print(params) {
        return request.get(`${this.subSys + this.module}/print`, { params })
    }

    // 新增
    create(data) {
        return request.post(`${this.subSys + this.module}/insertSelective`, data)
    }

    // 批量新增
    createBatch(data) {
        return request.post(`${this.subSys + this.module}/createBatch`, data)
    }

    // 编辑
    update(data) {
        return request.post(`${this.subSys + this.module}/updateByPrimaryKeySelective`, data)
    }

    // 删除
    remove(params) {
        return request({
            url: `${this.subSys + this.module}/deleteByPrimaryKey`,
            method: 'post',
            params
        })
    }

    // 统计
    summary(data) {
        return request.post(`${this.subSys + this.module}/get${this.summaryName}Sum`, data)
    }

    // 汇总
    statistics(data) {
        return request.post(`${this.subSys + this.module}/statistics`, data)
    }

    // 枚举值
    getLabels(data) {
        return request.post(`${that.subSys}/label-types/query`, data)
    }

    // 获取当前登录人权限的车辆加油卡信息
    getCarCards(data) {
        return request.post(`${this.subSys + this.module}/queryLoginCarInfoList`, data)
    }
    //车辆移交
    saveCarHandOver(data) {
        return request.post(`${this.subSys + this.module}/updateByCarTransfer`, data)
    }
    //获取上月里程
    getLastMonthCarMonthCost(data) {
        return request.post(`${this.subSys + this.module}/getLastMonthCarMonthCost`, data)
    }
}

